
public class Lista {
	
	private Lista proximoObjeto;
	private String palavra;
	
	public void adiciona(Lista lista, String palavra) {

		if (lista.palavra == null) {
			lista.proximoObjeto = null;
			lista.palavra = palavra;
		} else {
			Lista tmp = new Lista();
			Lista aux = new Lista();
			aux.palavra = palavra;
			aux.proximoObjeto = null;

			tmp = lista;
			while (tmp.proximoObjeto != null) {
				tmp = tmp.proximoObjeto;
			}

			tmp.proximoObjeto = aux;

		}

	}
	
	
	public void percorreLista(Lista lista){
		Lista tmp = new Lista();
		//tmp = lista.getProximoObjeto();
		tmp = lista;
		while(tmp!= null){
			System.out.println("palavra: "+tmp.getpalavra());
			tmp = tmp.getProximoObjeto();
		}
		
	}
	
	public void removeLista(Lista lista){
//		Lista tmp = new Lista();
//		tmp = lista.getProximoObjeto();
//		lista.setProximoObjeto(tmp.getProximoObjeto());
//		tmp = null;
		
		Lista tmp;
		tmp = lista;
		lista = lista.proximoObjeto;
		tmp.notify();
		
		
	}
	
	public Lista getProximoObjeto() {
		return proximoObjeto;
	}
	public void setProximoObjeto(Lista proximoObjeto) {
		this.proximoObjeto = proximoObjeto;
	}
	public String getpalavra() {
		return palavra;
	}
	public void setpalavra(String palavra) {
		this.palavra = palavra;
	}
	
	public void ordenarLista(Lista lista) {
		String valor = "";
		Lista tmp, aux, auxTroca = null;
		Lista listaOrdenada = new Lista();
		tmp = lista;
		valor = tmp.palavra;

		while (tmp.getProximoObjeto() != null) {
			aux = tmp.getProximoObjeto();
			while (aux != null) {
				if (aux.getpalavra().compareTo(valor) > 0) {
					valor = aux.getpalavra();
					auxTroca = aux;
				}
				if (aux.getProximoObjeto() == null) {
//					auxTroca.setpalavra(aux.getpalavra());
//					aux.setpalavra(valor);
					listaOrdenada.adiciona(listaOrdenada, aux.getpalavra());

				}
				aux = aux.getProximoObjeto();
			}
			tmp = tmp.getProximoObjeto();
		}
		
		lista.percorreLista(listaOrdenada);
	}

}
